/* ****************************************************************************
 *
 * Copyright (c) Microsoft Corporation. 
 *
 * This source code is subject to terms and conditions of the Microsoft Public License. A 
 * copy of the license can be found in the License.html file at the root of this distribution. If 
 * you cannot locate the  Microsoft Public License, please send an email to 
 * dlr@microsoft.com. By using this source code in any fashion, you are agreeing to be bound 
 * by the terms of the Microsoft Public License.
 *
 * You must not remove this notice, or any other, from this software.
 *
 *
 * ***************************************************************************/

using System.CodeDom.Compiler;

namespace Microsoft.Scripting.Actions {
    /// <summary>
    /// This class is used to look for matching rules in the caches
    /// by executing individual rules against the site whose fallback
    /// code delegates here.
    /// </summary>
    [GeneratedCode("DLR", "2.0")]
    public partial class Matchmaker {
        #region Generated Matchmaker

        // *** BEGIN GENERATED CODE ***
        // generated by function: gen_matchmaker from: generate_dynsites.py

        //
        // Mismatch routines for dynamic sites
        //

        // Mismatch detection - arity 1
        public static TRet Mismatch1<T0, TRet>(Matchmaker mm, CallSite site, T0 arg0) {
            mm.Match = false;
            return default(TRet);
        }

        // Mismatch detection - arity 2
        public static TRet Mismatch2<T0, T1, TRet>(Matchmaker mm, CallSite site, T0 arg0, T1 arg1) {
            mm.Match = false;
            return default(TRet);
        }

        // Mismatch detection - arity 3
        public static TRet Mismatch3<T0, T1, T2, TRet>(Matchmaker mm, CallSite site, T0 arg0, T1 arg1, T2 arg2) {
            mm.Match = false;
            return default(TRet);
        }

        // Mismatch detection - arity 4
        public static TRet Mismatch4<T0, T1, T2, T3, TRet>(Matchmaker mm, CallSite site, T0 arg0, T1 arg1, T2 arg2, T3 arg3) {
            mm.Match = false;
            return default(TRet);
        }

        // Mismatch detection - arity 5
        public static TRet Mismatch5<T0, T1, T2, T3, T4, TRet>(Matchmaker mm, CallSite site, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4) {
            mm.Match = false;
            return default(TRet);
        }

        // Mismatch detection - arity 6
        public static TRet Mismatch6<T0, T1, T2, T3, T4, T5, TRet>(Matchmaker mm, CallSite site, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5) {
            mm.Match = false;
            return default(TRet);
        }

        // Mismatch detection - arity 7
        public static TRet Mismatch7<T0, T1, T2, T3, T4, T5, T6, TRet>(Matchmaker mm, CallSite site, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6) {
            mm.Match = false;
            return default(TRet);
        }

        // Mismatch detection - arity 8
        public static TRet Mismatch8<T0, T1, T2, T3, T4, T5, T6, T7, TRet>(Matchmaker mm, CallSite site, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7) {
            mm.Match = false;
            return default(TRet);
        }

        // Mismatch detection - arity 9
        public static TRet Mismatch9<T0, T1, T2, T3, T4, T5, T6, T7, T8, TRet>(Matchmaker mm, CallSite site, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8) {
            mm.Match = false;
            return default(TRet);
        }


        // *** END GENERATED CODE ***

        #endregion
    }
}
